'use strict';
(function(){
  var baseImageUrl = 'http://static.winnovator.cn/scale/22/';

  var ratef = function(v){
    var tv = (((v +6)/(12)+0.1)*100).toFixed(1);
    if(tv > 100){
      return 100;
    }
    return tv;

  };
  function getRandomNum(Min,Max)
  {
    var Range = Max - Min;
    var Rand = Math.random();
    return(Min + Math.round(Rand * Range));
  }

  var userSelectedSerial = {};

  //获得试题的各个维度的得分
  function qDimResult(qId,qAnswerArr){

    var dimResult = [];
    _.each(qAnswerArr, function(oneAid){
      var one = _answerDims[oneAid];
      _.each(one, function(oneDim){
        dimResult[oneDim.name - 1] = oneDim.value;
      });
    });
    return dimResult;

  }
  window.roundDataUtil = {
    currentQuestion:function(){
      return currentQuestion;
    },
    getNext: function(answerId){ //根据已有的答题序列获得下一提
      if(answerId === null){//针对用户没有选择的时候
        answerId = currentQuestion.answers[0].id;
        // console.log("用户没有选择，默认为：" + answerId);
      }
      var oneAnswer = _answers[answerId];
      var nextItem = oneAnswer.next;
      var data = null;
      var questionIndex = -1;
      if(nextItem.type === 'q'){
        data = questions_map[nextItem.id];
        currentQuestion = data;
        //获得下一题目的索引值
        for(var i = 0 ; i < _questions.length ; i ++){
          var oneQuestoin = _questions[i];
          if(oneQuestoin.id == nextItem.id){
            questionIndex = i;
            break;
          }
        }
      }else{
        //答题结果
        //从特定的题型中解析该试题的维度


        //拿到用户的答题序列
        var dimResultArr = [];
        _.each(_.values(userSelectedSerial),function(oneArr){
          dimResultArr.push(qDimResult(null,oneArr));
        });
        var answerDimsList = [];//各个维度数组的总和
        for(var i = 0; i < 5; i++){
          var tempSum = 0;
          _.each(dimResultArr,function(oneDimResult){
            if(oneDimResult[i]){
              tempSum += oneDimResult[i];
            }
          });

          answerDimsList[i] = tempSum;
        }

        //根据各个维度获得结果
        var data = null;
        for(var i = 0; i < resultDescData.length; i++){
          var tmpDesc = resultDescData[i];
          if(tmpDesc.check(answerDimsList)){
            data = tmpDesc.getResult(answerDimsList);
            break;
          }
        }


        if(data === null){
          data = resultDescData[1].getResult([1,1,1,1,1]);
        }
      }

      return {
        type: nextItem.type,
        data:data,
        pageIndex: questionIndex
      }

    },
    selectItem: function(qid, selectSerial){
      // console.log(qid);
      // console.log(selectSerial);
      userSelectedSerial[qid] = selectSerial;
    },
    getUserSelectResult: function(){
      return userSelectedSerial;
    }
  }

  var _questions = [
    {
      'id': 'q1',
      'caption': '平时你有多投入自己正在做的事情？',
      'img_src': baseImageUrl + '1.jpg',
      'imgWidth': 650,'imgHeight': 310,
     'answers': [
        {'id':'a11', 'caption': '很少投入', 'next':{'type':'q','id':'q2'}},
        {'id':'a12', 'caption': '', 'next':{'type':'q','id':'q2'}},
        {'id':'a13', 'caption': '', 'next':{'type':'q','id':'q2'}},
        {'id':'a14', 'caption': '', 'next':{'type':'q','id':'q2'}},
        {'id':'a15', 'caption': '非常投入', 'next':{'type':'q','id':'q2'}}
      ]
    },
    {
      'id': 'q2',
      'caption': '总的来说,你认为自己的健康状况如何？',
      'img_src': baseImageUrl + '2.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a21', 'caption': '很少生病', 'next':{'type':'q','id':'q3'}},
        {'id':'a22', 'caption': '', 'next':{'type':'q','id':'q3'}},
        {'id':'a23', 'caption': '', 'next':{'type':'q','id':'q3'}},
        {'id':'a24', 'caption': '', 'next':{'type':'q','id':'q3'}},
        {'id':'a25', 'caption': '经常生病', 'next':{'type':'q','id':'q3'}}
      ]
    },
    {
      'id': 'q3',
      'caption': '总的来说,你经常感到快乐吗？',
      'img_src': baseImageUrl + '3.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a31', 'caption': '很少感到', 'next':{'type':'q','id':'q4'}},
        {'id':'a32', 'caption': '', 'next':{'type':'q','id':'q4'}},
        {'id':'a33', 'caption': '', 'next':{'type':'q','id':'q4'}},
        {'id':'a34', 'caption': '', 'next':{'type':'q','id':'q4'}},
        {'id':'a35', 'caption': '经常感到', 'next':{'type':'q','id':'q4'}}
      ]
    },
    {
      'id': 'q4',
      'caption': '总的来说,你对日常生活中发生的事情感到兴奋有趣吗？',
      'img_src': baseImageUrl + '4.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a41', 'caption': '很少感到', 'next':{'type':'q','id':'q5'}},
        {'id':'a42', 'caption': '', 'next':{'type':'q','id':'q5'}},
        {'id':'a43', 'caption': '', 'next':{'type':'q','id':'q5'}},
        {'id':'a44', 'caption': '', 'next':{'type':'q','id':'q5'}},
        {'id':'a45', 'caption': '经常感到', 'next':{'type':'q','id':'q5'}}
      ]
    },
    {
      'id': 'q5',
      'caption': '日常生活中,你经常感到孤独吗？',
      'img_src': baseImageUrl + '5.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a51', 'caption': '经常感到', 'next':{'type':'q','id':'q6'}},
        {'id':'a52', 'caption': '', 'next':{'type':'q','id':'q6'}},
        {'id':'a53', 'caption': '', 'next':{'type':'q','id':'q6'}},
         {'id':'a54', 'caption': '', 'next':{'type':'q','id':'q6'}},
        {'id':'a55', 'caption': '很少感到', 'next':{'type':'q','id':'q6'}}
      ]
    },
    {
      'id': 'q6',
      'caption': '你觉得你在生活中能感受到的爱有多少呢？',
      'img_src': baseImageUrl + '6.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a61', 'caption': '非常少', 'next':{'type':'q','id':'q7'}},
        {'id':'a62', 'caption': '', 'next':{'type':'q','id':'q7'}},
        {'id':'a63', 'caption': '', 'next':{'type':'q','id':'q7'}},
        {'id':'a64', 'caption': '', 'next':{'type':'q','id':'q7'}},
        {'id':'a65', 'caption': '非常多', 'next':{'type':'q','id':'q7'}}
      ]
    },
    {
      'id': 'q7',
      'caption': '总的来说,你经常感到难过吗？',
      'img_src': baseImageUrl + '7.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a71', 'caption': '很少感到', 'next':{'type':'q','id':'q8'}},
        {'id':'a72', 'caption': '', 'next':{'type':'q','id':'q8'}},
        {'id':'a73', 'caption': '', 'next':{'type':'q','id':'q8'}},
         {'id':'a74', 'caption': '', 'next':{'type':'q','id':'q8'}},
        {'id':'a75', 'caption': '经常感到', 'next':{'type':'q','id':'q8'}}
      ]
    },
     {
      'id': 'q8',
      'caption': '总体而言,你认为自己有多快乐呢？',
      'img_src': [baseImageUrl + '8_1.jpg', baseImageUrl + '8_2.jpg',baseImageUrl + '8_3.jpg',baseImageUrl + '8_4.jpg',baseImageUrl + '8_5.jpg'],
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a81', 'caption': '非常不快乐', 'next':{'type':'r','id':'c'}},
        {'id':'a82', 'caption': '', 'next':{'type':'r','id':'c'}},
        {'id':'a83', 'caption': '', 'next':{'type':'r','id':'c'}},
        {'id':'a84', 'caption': '', 'next':{'type':'r','id':'c'}},
        {'id':'a85', 'caption': '非常快乐', 'next':{'type':'r','id':'c'}}
      ]
    }
  ];
  var _answerDims = {
    'a11': [{'name':1,'value':0}],
    'a12': [{'name':1,'value':1}],
    'a13': [{'name':1,'value':2}],
    'a14': [{'name':1,'value':3}],
    'a15': [{'name':1,'value':4}],

    'a21': [{'name':1,'value':4}],
    'a22': [{'name':1,'value':3}],
    'a23': [{'name':1,'value':2}],
    'a24': [{'name':1,'value':1}],
    'a25': [{'name':1,'value':0}],

    'a31': [{'name':1,'value':0}],
    'a32': [{'name':1,'value':1}],
    'a33': [{'name':1,'value':2}],
    'a34': [{'name':1,'value':3}],
    'a35': [{'name':1,'value':4}],

    'a41': [{'name':1,'value':0}],
    'a42': [{'name':1,'value':1}],
    'a43': [{'name':1,'value':2}],
    'a44': [{'name':1,'value':3}],
    'a45': [{'name':1,'value':4}],

    'a51': [{'name':1,'value':0}],
    'a52': [{'name':1,'value':1}],
    'a53': [{'name':1,'value':2}],
    'a54': [{'name':1,'value':3}],
    'a55': [{'name':1,'value':4}],

    'a61': [{'name':1,'value':0}],
    'a62': [{'name':1,'value':1}],
    'a63': [{'name':1,'value':2}],
    'a64': [{'name':1,'value':3}],
    'a65': [{'name':1,'value':4}],

    'a71': [{'name':1,'value':4}],
    'a72': [{'name':1,'value':3}],
    'a73': [{'name':1,'value':2}],
    'a74': [{'name':1,'value':1}],
    'a75': [{'name':1,'value':0}],

    'a81': [{'name':1,'value':0}],
    'a82': [{'name':1,'value':1}],
    'a83': [{'name':1,'value':2}],
    'a84': [{'name':1,'value':3}],
    'a85': [{'name':1,'value':4}]
};

  var resultDescData =
    [
      {
        check:function(dimList){
          var sum =  _.reduce(dimList, function(memo, num){ return memo + num; }, 0);
          if(sum >= 0 && sum <= 8){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          return {
            id : 'r1',
            title:'',
            rate:0,
            desc:'' +
            '<h4>' +
            '您的孩子幸福感有点低。TA看到的世界可能是枯燥乏味的，使TA不愿投入过多。TA可能会觉得孤独，很难感受到家人和朋友的爱，他的大部分时间可能是难过的。给TA更多的关爱和鼓励吧，让孩子快乐起来的同时你也能感受到快乐哦！' +
            '</h4>',
            url: baseImageUrl + 'r1.jpg'
          }
        }
      },
      {
        check:function(dimList){
          var sum =  _.reduce(dimList, function(memo, num){ return memo + num; }, 0);
          if(sum >= 9 && sum <= 16){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          var dim_pie_name = dimList.join('_') + '_';
          return {
            id : 'r2',
            title:'',
            rate:0,
            desc:'' +
            '<h4>' +
            '您的孩子有一点点不快乐呢！也许是觉得每天的生活没什么新意，也许觉得自己有一些孤独，感受不到家人的爱，也有可能因为身体上的疾病觉得难过。总之多给孩子一点关心和鼓励吧，让孩子开心起来的同时你也能感受到快乐呢！' +
            '</h4>',
            url: baseImageUrl + 'r1.jpg'
          }
        }
      },
      {
        check:function(dimList){
          var sum =  _.reduce(dimList, function(memo, num){ return memo + num; }, 0);
          if(sum >= 17 && sum <= 24){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          return {
            id : 'r3',
            title:'',
            rate:0,
            desc:'' +
            '<h4>' +
            '您的孩子幸福感比较高哦！平时TA会时不时地向你传递出一些快乐。孩子能感受到周围人的爱，也能发现身边新奇美好的事物。孩子的大部分时间可能都是健康而快乐的，TA也乐于投入这个世界。适当的鼓励也许能让孩子更好哦！' +
            '</h4>',
            url: baseImageUrl + 'r1.jpg'
          }
        }
      },
      {
        check:function(dimList){
          var sum =  _.reduce(dimList, function(memo, num){ return memo + num; }, 0);
          if(sum >= 25 && sum <= 32){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          return {
            id : 'r4',
            title:'',
            rate:0,
            desc:'' +
            '<h4>' +
            '您的孩子幸福感特别高哦！平时您也一定能感受到TA带给你的那些快乐吧！对孩子来说，周围的一切事物都是新奇而充满意义的，TA也非常乐于投入这个美妙的世界，感受这个世界给予TA的爱。健康快乐对TA来说是一种常态，这样很好哦，要保持下去！' +
            '</h4>',
            url: baseImageUrl + 'r1.jpg'
          }
        }
      }

    ];

  var currentQuestion = _questions[0];
  var _answers = _.indexBy(
      _.reduceRight(
        _.map(_questions, function(q){return q.answers}),
        function(a, b) { return a.concat(b); }, []),
      function(one){return one.id;}
  );
  var questions_map = _.indexBy(_questions, function(one){return one.id;});
window.yoparentData = {
  'id':22,
  'qType':'single-choice',
  'cate_id': '1',
  'title': '儿童主观幸福感测试',
  'imgSrc': baseImageUrl + 'face.jpg?t=' + Math.random(),
  'imgWidth': 750,'imgHeight': 500,
  'description': '主观幸福感区别于客观的生活条件，是指人们对其生活质量所做的情感性和认知性的整体主观评价，心理研究发现主观幸福感较高的人生活得更快乐哦！你的孩子幸福吗，让TA自己告诉你吧，请家长帮助自己的孩子完成以下测试~（适用范围：5-16岁）'+
  '<br /><br />' +
  '<span style="font-size: 14px;">本测试改编自美国国立统计中心制作的总体幸福感量表（GWB），幸福创客独家改编！</span>',
  'isCheckResult':false,
  'showCheckResult':false,
  'share': {
    'title': '儿童主观幸福感测试',
    'description':''
  },
  'questions': _questions,
  'tpl': 'default'
};
})();
